package com.vcc.core.derive.admin;


import cn.idev.excel.annotation.ExcelProperty;
import cn.idev.excel.converters.longconverter.LongStringConverter;
import com.vcc.core.derive.converter.DateConverter;
import com.vcc.core.derive.converter.wallet.HasTransferInConverter;
import com.vcc.core.derive.converter.wallet.UseFlagConverter;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class DeriveWalletDetail implements Serializable {

    @ExcelProperty(value = "id", index = 0, converter = LongStringConverter.class)
    private Long id;

    @ExcelProperty(value = "订单号", index = 1)
    private String orderId;

    @ExcelProperty(value = "卡号", index = 2)
    private String cardNumber;

    @ExcelProperty(value = "事件", index = 3, converter = UseFlagConverter.class)
    private Integer useFlag;

    @ExcelProperty(value = "资金方向", index = 4, converter = HasTransferInConverter.class)
    private Boolean hasTransferIn;

    @ExcelProperty(value = "用户ID", index = 5, converter = LongStringConverter.class)
    private Long userId;

    @ExcelProperty(value = "用户名", index = 6)
    private String userAccount;

    @ExcelProperty(value = "变动金额", index = 7)
    private BigDecimal amount;

    @ExcelProperty(value = "币种", index = 8)
    private String currencyCode;

    @ExcelProperty(value = "余额", index = 9)
    private BigDecimal balance;

    @ExcelProperty(value = "记录时间", index = 10,converter = DateConverter.class)
    private Date createTime;

    @ExcelProperty(value = "备注", index = 11)
    private String remark;

    @ExcelProperty(value = "操作人账号", index = 12)
    private String operationUserAccount;

    @ExcelProperty(value = "主用户", index = 13)
    private String parentAccount;

    @ExcelProperty(value = "代理账号", index = 14)
    private String dealerAccount;
}
